
package proyectocompi;

import java.io.IOException;

/**
 *
 * @author Cristian Manuel Franco Diaz
 */
public class ProyectoCompi {

 
    private static final int NUMERO = 521;
    private static final int ID= 607;
    private static final int CONCATENACION = '&';
    private static final int ALTERNACION = '|';
    private static final int EOF = '.';
    private static final int FIN_SENT = ';';
    private static final int SUMA= '+';
    private static final int RESTA= '-';
    
    
    
    private int token;
    private String notacion;
    /**
     * Constructor principal de la clase
     */
    public ProyectoCompi(){
    this.token = -1;
    this.notacion ="";
    
    }
    
    public void iniciarAnalisis( ) throws IOException{
    this.prog();
    
    
    
    }
    
    
    public static void main(String[] args) {
        try {
            ProyectoCompi Pcompi = new ProyectoCompi();
            Pcompi.iniciarAnalisis();
        } catch (IOException ex) {
            System.out.println("Error"+ex.getMessage());
        }
   
    }
    
    /**
     * Hace referencia a una produccion gramatical, verifica que se componga los elementos de las demas proyecciones hacia el final de stencia 
     * 
     * @throws IOExption cuando no existe una entrada
     */
    private void prog() throws IOException{
        this.next(token);
        
      
    }
    private void conjProd() throws IOException{
        this.next(this.token);
        this.Prod();
        if(this.token== FIN_SENT){
            System.out.println(this.notacion);
        
        
        }
        else{
         throw new Error(String.format("Error Error de sintaxis se esperaba %s", (char) FIN_SENT));
        }
    }
    
    private void Prod() throws IOException{
        
    }
    
    private void Expr() throws IOException{
    }
    
    private void Term() throws IOException{
    }
    
    private void Factor() throws IOException{
    }
    
    private void Primario() throws IOException{
    }
    
    
    private void next(int token ) throws IOException{
     
        if(this.token== token){
        this.token= System.in.read();
       
        
        }
         else {
                throw new Error(String.format("Error de sintaxis token invalido %s",(char) this.token) );
                
                }
        
    }
    
}
    
    

